| Автор перевода: Майкл "Antares" Клишин | Предыдущая | Следующая | Оглавление |
Flash Player 7.
throw выражение
Выражение; генерирует, или выдает ошибку, которая должна быть обработана (поймана) блоком catch{}. Если исключение, выданное блоку catch, не обработано, строковое значение сгенерированной величины отправляется на панель Output.
Обычно генерируют экземпляры класса Error или его подклассов (смотри пункт Пример).
expression Выражение или объект.
В этом примере функция checkEmail() проверяет, является ли переданная строка корректным e-mail адресом. Если строка не содержит символ @ , функция генерирует ошибку.
function checkEmail(email:String) {
if (email.indexOf("@") == -1) {
throw new Error("Invalid email address");
}
}
checkEmail(“someuser_theirdomain.com”);
Следующий код вызывает функцию checkEmail() с блоком кода try. Если строка email_txt не является корректным e-mail адресом, в текстовом поле (error_txt) появится сообщение об ошибке.
try {
checkEmail("Джо Смит”);
} catch (e) {
error_txt.text = e.toString();
}
Код ниже генерирует ошибку, являющуюся подклассом класса Error. Функция checkEmail() модифицирована для того, чтобы генерировать ошибки созданного подкласса. (Для более подробной информации смотри "Создание подклассов " в Использовании ActionScript во Flash.)
// Определяем подкласс класса Error, назовем его InvalidEmailError
// В файле InvalidEmailError.as:
class InvalidEmailAddress extends Error {
var message = "Неверный адрес email.";
}
В FLA файле введите следующий код в первый кадр Таймлайна:
import InvalidEmailAddress;
function checkEmail(email:String) {
if (email.indexOf("@") == -1) {
throw new InvalidEmailAddress();
}
}
try {
checkEmail("Джо Смит");
} catch (e) {
this.createTextField("error_txt", this.getNextHighestDepth(), 0, 0, 100, 22);
error_txt.autoSize = true;
error_txt.text = e.toString();
}
Error class, try..catch..finally
| Посмотреть комментарии LiveDocs | Предыдущая | Следующая | Оглавление | |